GpH and Eden: Comparing two parallel functional languages on a Beowulf cluster
نویسندگان
چکیده
We investigate two similar but contrasting parallel functional language designs: Eden and GPH. Both languages use the non-strict functional language Haskell as a core expression language, both are implemented as extensions of the high performance Glasgow Haskell Compiler (GHC), and both implementations are available on the same distributed architecture: a Beowulf cluster. This allows an exceptionally pure comparison of the language design characteristics and their impact on parallel performance. The comparison is illustrated by two parallel symbolic computation benchmarks which expose differences in the communication, process creation, and work distribution mechanisms employed by Eden and GPH. Our results show that the explicit process model favoured by Eden gives good parallel performance for coarse-grained applications running on the Beowulf cluster. In comparison, the current GPH implementation of implicit parallelism yields poorer absolute speedup for these two applications. Further work is needed to determine whether this difference is an implementation artefact or a consequence of the different models employed in each case, though excessively fine thread granularity appears to be a contributing factor. 1Department of Computing and Electrical Engineering, Heriot-Watt University, Scotland; Email: {hwloidl,trinder}@cee.hw.ac.uk 2Department of Computer Science, Marburg University, Germany; Email: {klusik,loogen}@mathematik.uni-marburg.de 3School of Computer Science, University of St Andrews, Scotland; Email: [email protected]
منابع مشابه
From GranSim to Paradise
We describe PARADISE (PARAllel DIstribution Simulator for Eden) a simulator developed to proole the execution of programs written in the parallel functional programming language Eden BLOMP96], BLOMP97]. Eden extends the lazy functional language Haskell by syntactic constructs to explicitly deene processes. Paradise is a substantial modiication of GranSim HLP94], Loi96], Loi98], a tool to study ...
متن کاملDeveloping High-Level Irregularly-Parallel Programs for Multiple Architectures
The variety of parallel architectures nowadays available implies that models for parallel software development should deliver acceptable performance on a range of architectures with minimal development effort. One approach is to use languages with very high level, and substantially architecture-independent, specification of parallel coordination. This paper presents a novel profiling-based meth...
متن کاملArchitecture aware parallel programming in Glasgow parallel Haskell (GPH)
General purpose computing architectures are evolving quickly to become manycore and hierarchical: i.e. a core can communicate more quickly locally than globally. To be effective on such architectures, programming models must be aware of the communications hierarchy. This thesis investigates a programming model that aims to share the responsibility of task placement, load balance, thread creatio...
متن کاملComparing Parallel Functional Languages: Programming and Performance
This paper presents a practical evaluation and comparison of three state-of-the-art parallel functional languages. The evaluation is based on implementations of three typical symbolic computation programs, with performance measured on a Beowulf-class parallel architecture. ∗This work is primarily supported by the Austrian Academy of Sciences (APART fellowship 624), the Japan Society for the Pro...
متن کاملGpH: An Architecture-independent Functional Language
In principle, pure functional languages promise straightforward architecture-independent parallelism. We investigate the validity of this claim in the context of our highly-portable implementation of an implicitly-parallel functional language: the GUM implementation of Glasgow Parallel Haskell (GpH). We discuss architecture independence at two levels: low-level (i.e. the implementation) and hig...
متن کامل